FROM node:18-slim

# 安装依赖
RUN apt-get update && apt-get install -y \
  ca-certificates \
  curl \
  gnupg \
  libasound2 \
  libatk-bridge2.0-0 \
  libatspi2.0-0 \
  libdrm2 \
  libgbm1 \
  libgtk-3-0 \
  libxcomposite1 \
  libxdamage1 \
  libxfixes3 \
  libxrandr2 \
  libxshmfence1 \
  libxss1 \
  libxtst6 \
  libnss3 \
  xdg-utils \
  fonts-liberation \
  && rm -rf /var/lib/apt/lists/*

# 创建工作目录
WORKDIR /app

# 复制 package 文件
COPY package*.json ./
RUN npm install --production

# 复制源码
COPY src ./src
COPY public ./public

# 创建非 root 用户（安全）
USER node

# 暴露端口
EXPOSE 3000

# 启动命令
CMD ["node", "src/server.js"]